﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
using System.ComponentModel;

namespace DbSharp.GuiRunner.View
{
    [Obfuscation]
    enum SetStyleDiffMode
    {
        Set_Changed,
        Set_Surplus,
        Set_Absence,
        Set_Common,
        Set_Union,
    }

    [Obfuscation]
    enum TextLineDiffMode
    { 
        Sequence_Diff
    }


    [Obfuscation]
    enum SetStyleDiffFileFormat
    {
        Excel,
        Excel2007,
        Html,
    }


    [Obfuscation]
    class SetStyleDiffViewItem : INotifyPropertyChanged
    {
        private string m_FileName;
        public string FileName
        {
            get { return m_FileName; }
            set
            {
                m_FileName = value;
                if (PropertyChanged != null)
                    PropertyChanged(this, new PropertyChangedEventArgs("FileName"));
            }
        }

        private SetStyleDiffMode m_DiffMode;
        public SetStyleDiffMode DiffMode
        {
            get { return m_DiffMode; }
            set
            {
                m_DiffMode = value;
                if (PropertyChanged != null)
                    PropertyChanged(this, new PropertyChangedEventArgs("DiffModeText"));
            }
        }

        public string DiffModeText
        {
            get { return m_DiffMode.ToString(); }
        }

        #region INotifyPropertyChanged Members

        public event PropertyChangedEventHandler PropertyChanged;

        #endregion
    }


    [Obfuscation]
    class TextLineDiffViewItem : INotifyPropertyChanged
    {
        private string m_FileName;
        public string FileName
        {
            get { return m_FileName; }
            set
            {
                m_FileName = value;
                if (PropertyChanged != null)
                    PropertyChanged(this, new PropertyChangedEventArgs("FileName"));
            }
        }

        private TextLineDiffMode m_DiffMode;
        public TextLineDiffMode DiffMode
        {
            get { return m_DiffMode; }
            set
            {
                m_DiffMode = value;
                if (PropertyChanged != null)
                    PropertyChanged(this, new PropertyChangedEventArgs("DiffModeText"));
            }
        }

        public string DiffModeText
        {
            get { return m_DiffMode.ToString(); }
        }

        #region INotifyPropertyChanged Members

        public event PropertyChangedEventHandler PropertyChanged;

        #endregion
    }

}
